package cn.tsoft.taobao.logic;

import java.util.ArrayList;

import android.app.Activity;
import android.app.AlertDialog;
import android.app.Application;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.DialogInterface.OnClickListener;
import android.view.LayoutInflater;
import android.view.View;

public class TaskManagerApplication extends Application{

	//保存所有的activity
	public static ArrayList<Activity> allActivity=new ArrayList<Activity>();
	
	//保存所有的工作
	public static ArrayList<Task> allTask  = new ArrayList<Task>();
	
	/***
	 * 根据activity的名称获取自己的Activity
	 * @param name
	 * @return
	 */
	public static Activity getActivityByName(String name)
	{   
		for(Activity ac:allActivity)
		{
			if(ac.getClass().getName().indexOf(name)>=0)
			{
		      	return ac;	
			}
		}
		return null;
	}
	
	/**
	 * 添加一个工作
	 * @param task
	 */
	public  static void addTask(Task task){
		allTask.add(task);
	}
	
	public static void removeTask(Task task){
		allTask.remove(task);
	}
	
	/**
	 * 检查网络的情况下没有发现网络弹出来的信息
	 * @author wanggj
	 */
	public static void  alertNetError(final Context context){
		AlertDialog.Builder ab=new AlertDialog.Builder(context);
		ab.setTitle(cn.tsoft.taobao.ui.R.string.NoRouteToHostException);
		ab.setMessage(cn.tsoft.taobao.ui.R.string.NoSignalException);
		ab.setNegativeButton(cn.tsoft.taobao.ui.R.string.apn_is_wrong1_exit,
		 new OnClickListener()
		{
			@Override
			public void onClick(DialogInterface dialog, int which) {
				dialog.cancel();
				exitApp(context);
			}
		});
		ab.setPositiveButton(cn.tsoft.taobao.ui.R.string.apn_is_wrong1_setnet, 
				 new OnClickListener()
		{
			@Override
			public void onClick(DialogInterface dialog, int which) {
               dialog.dismiss();
               context.startActivity(new Intent(android.provider.Settings.ACTION_WIRELESS_SETTINGS));				
			}
		});
		ab.create().show();
	}
	
	public static void exitApp(Context context)
	{
		for(Activity ac:allActivity)
		{
			ac.finish();
		}
		Intent it=new Intent("cn.tsoft.taobao.logic.MainService");
		context.stopService(it);
	}
	
	public static void promptExit(final Context con)
	{
		//创建对话框
		LayoutInflater li=LayoutInflater.from(con);
		View exitV=li.inflate(cn.tsoft.taobao.ui.R.layout.exitdialog, null);
		AlertDialog.Builder ab=new AlertDialog.Builder(con);
		ab.setView(exitV);//设定对话框显示的View对象
		ab.setPositiveButton(cn.tsoft.taobao.ui.R.string.exit, new 
		  OnClickListener()
		{
			public void onClick(DialogInterface arg0, int arg1) {
			 exitApp(con);
			}
		});
		ab.setNegativeButton(cn.tsoft.taobao.ui.R.string.cancel, null
		);
		//显示对话框
		ab.show();
	}
	
}
